История и принципи на Интернет
През 1957 Съветският Съюз пуска Sputnik, първият направен от човека сателит на земята. В резултат на това Съединените Щати формират Advanced research Project Agency (ARPA) под покровителството на Министерството на Отбраната. Целта на създаването на ARPA била да поддържа лидерството в технологиите на Съединените Щати , в частност с особено внимание на отбраната. В началото на 60-те Paul Baran в Rand Corporation размишлявал върху много прост проблем: Как да бъде сигурен, че при атомна атака, военната мрежа ще продължи да работи. С други думи работата на Paul била да създаде начин да се получава информация през мрежата, така че да няма загуба на части от нея.

Решението, до което Paul Baran достигнал, Сега се нарича Прехвърляне на пакети (Packet Switching). Мрежата от компютри изпраща съобщения (пакети), които съдържат информация за собствения си маршрут, така че всеки компютър от мрежата са знае накъде да прехвърли това съобщение. Националната лаборатория по физика създала първата мрежа, прехвърляща пакети информация, през 1968 година.

ARPA създава ARPANET през 1969, за да помогне на създалите ARPA изследователи да си сътрудничат по-ефективно. Те били ориентирани към образователно и научно-изследователски тематики , а не като търговските организации, които днес виждате в Интернет.

ARPA поръчала на Bolt, Beranek и Newman да изградят Interface Message Processors (IPMs), които да се основават на технологията прехвърляща пакети, изградена от Rand Corporation в началото на 60-те. Първите IPMs били поставени в UCLA в изследователския институт в Станфорд, Калифорнийския университет в Санта Барбара, Университета на Юта в Салт Лейк Сити. IPMs били включени в това, което днес наричаме IP рутери.
Друго голямо събитие не се случило преди 1983, когато ARPANET преминала на TCP/IP мрежов протокол . Между 1969 и 1983 се появили и израснали много отделни мрежи. BITNER и CSNET са измежду по-големите. Свързването заедно на всяка от тези отделни мрежи било трудно, защото те не използвали един и същи протокол, затова и не можели да обменят информация по между си. В резултат на това ARPA поръчала разработването на нов протокол , който се нарича Контролно Предавателен Протокол/Интернет протокол (Transmission Control Protocol - TCP/IP) и позволява на различните мрежи да се свързват. Тези мрежи използват Инртернет протокол за да комуникират помежду си и IPMs, които прехвърлят пакетите станали известни като шлюзове или рутери. Това ново съчетание от мрежи станало известно като Интернет.
Иронично ARPANET последна преминала преминала на TCP/IP. Повечето други мрежи преминали на TCP/IP в края на 70-те, но ARPANET направила тази смяна преди 1 Януари 1983, така много хора смятат тази дата за рождената дата на Интернет. През 1986 National Science Foundation създала NSFNET, гръбнакът на Интернет със скорост 56К. Той свързвал 5 супер-компютърни центъра, намиращи се в Принстън, Питсбърг, UCSD, UIUC и Cornel. В NSFNET участвали огромен брой връзки от различни университети. Следващата година NSF подписал а договор с Merit Network Inc. за взаимно управление на NSFNET. Merit Network Inc. включила IBM и MCI чрез техни собствени допълнителни договори.
NSFNET била обновявана постоянно до 1986. През 1988, две години след като била създадена, гръбнакът бил обновен до линия Т1 (1.544М). През 1991 отново бил обновен на Т3 (44.737М), така NSFNET достига до почти хиляда пъти по-голяма пропускателна способност, в сравнение с първоначалния гръбнак.
На 1 Юни 1990 първоначалната ARPANET се разпада. По-новите мрежи се свързали към сайтовете, към които ARPANET била свързана, тека че тя не била повече необходима. Интересно е да се отбележи, че никой не пострадал от спирането на услугите, когато ARPANET била премахната. Технологията се оказала толкова ефективна, че дори когато ARPANET преустановила работата си , Интернет намерил други пътища, по които да минава информацията.
През 1992 Tim Berners-Lee, физик от CERN Швейцария, изобретил Word Wide Web (Web), начин да се организира информацията като модел наподобяващ повече човешкия мозък. неговата идея била да позволи на хората да правят многократни връзки с различни парчета информация.
Неговото проучване било базирано на хипертекста, концепция измислена от Тед Нелсън като част от "Xanadu Project" през 60-те. Хипертекста позволява на автора да свърже пасаж от текста с друг документ, така че когато активирате тази връзка, програмата клиент отваря документа, към който се отнася връзката.
Макар че Berners - Lee изобретил Web за своите близки приятели, които били силнотокови физици, то се разпространило и било бързо възприето от много други групи в Интернет. Web сега е заместил някои по-стари услуги като Gopher и WAIS и е толкова популярен в момента, че много хора си мислят за него, когато се спомене Интернет. Всъщност степента на растеж на Web през 1993 била изчислена на 340,000 процента.
TCP/IP
В основата на Интернет и пакетното предаване на данни стои TCP/IP фамилията протоколи. Точно за това познаването и е от първостепенна важност. Това е само едно кратко описание на TCP/IP Интернет и на Internet Protocol (IP). В него са засегнати само основните параметри на всеки протокол.
Transmission Control Protocol/Internet Protocol (TCP/IP) е софтуерно базиран комуникационен протокол, използван в мрежите. Самото име ни подсказва, че този продукт е съчетание от два протокола: TCP (Transmission Control Protocol) и IP (Internet Protocol). Но терминът TCP/IP не се отнася до просто съчетание на два протокола. Това е богат набор от програми, които осигуряват мрежови услуги като: Remote login, Remote file transfer, електронна поща и.т.н. TCP/IP обезпечава метод за трансфер на информация от един компютър до друг. Комуникационните протоколи следят за пътя, за достоверността на доставените данни и за грешки при предаването. Те използват сигнали за състоянието и по този начин имат действителен контрол върху преноса по трасето. За всичко това се грижи TCP/IP. Когато използваме TCP/IP, ние се обръщаме към един или няколко протокола от тази фамилия, не само към TCP или IP.
За основен модел при мрежите се счита седем-слойният мрежови модел (OSI). TCP/IP също е изграден на слоеве, но неговите слоеве не съвпадат със слоевете на OSI модела.
Възприемането на TCP/IP модела не влиза в противоречие с OSI стандартите, защото двете са развивани съвместно. В някои случаи TCP/IP допълва OSI и обратното. Съществуват някои важни разлики, които произтичат от основните изисквания на TCP/IP. Някои от тях са: динамичното рутиране, независими от физическата връзката протоколи в мрежовия слой, универсална възможност за връзка и пакетна комутация. Разликите между OSI архитектурата и тази на TCP/IP засягат само слоевете над транспортното ниво и тези от мрежовия слой. OSI има и двете: слоя сесия и слоя представяне, докато TCP комбинира двата с потребителския слой. Необходимостта от мултифункционалност на връзката налага TCP/IP да обедини двата най-долни слоя (логическия и физическия). Имаме неоснователно безпокойство относно комбинацията на мрежовите нива. Както се вижда от фигурата, физическият и логическият слоеве са обединени в един. Това може да бъде използвано от един интелигентен контролер, например - мрежова платка. Комбинирането на двата слоя в един има едно основно предимство. Това позволява една подмрежа да бъде изградена без да се нуждае от други протоколи. Освен това дава възможност на тези мрежи, използвайки TCP/IP протокола, да се свържат и извън техните затворени системи.
Транспортният слой използва Transmission Control Protocol (TCP) или някой друг протокол - най-често User Datagram Protocol (UDP). За мрежовия слой има само един протокол - Internet Protocol (IP). Това осигурява на системата универсална възможност за свързване.
TCP/IP е предпочитан от потребителите пред OSI модела. Някои от причините за това са, че хиляди приложения използват TCP/IP и неговия добре описан интерфейс с приложенията. Освен това TCP/IP вече е доказал своята функционалност. Той е и база на повечето Unix системи, които представляват голям дял от пазара на операционни системи. Учудващо е, че американското правителство е един от най-върлите противници на TCP/IP. Основният им аргумент е, че TCP/IP не е международно възприет стандарт, докато OSI е такъв.
Сега ще направим един общ преглед на TCP/IP протоколите и основните им функции.
Фигура 2 показва основните елементи на TCP/IP фамилията протоколи. Можете да видите, че TCP/IP не е включен в най-долните два слоя на OSI модела (физическия и логическия). TCP/IP започва от мрежовия слой, където е разположен Internet Protocol (IP). В транспортния слой се използват TCP и UDP протоколи. Над тях са програмите и протоколите, които доизграждат TCP/IP фамилията. В техните комуникационни системи те използват TCP или UDP и IP слоевете. Фигура 2 показва също, че някои от горните слоеве зависят от TCP (например Telnet и FTP), а други (TFTP и RPC) използват UDP. Повечето от горните слоеве използват само един от двата транспортни протокола, макар че някои включително DNS (Domain Name System) могат да използват и двата. TCP/IP е зависим от концепцията clients - server. Този термин има просто значение: всяко устройство, което инициира връзката, е клиент, а устройството, което отговаря, е сървър. Сървърът обслужва обслужва заявките на клиентите.
Бърз преглед на TCP/IP компонентите
За да се разбере ролята на многото компоненти на TCP/IP фамилията протоколи, е полезно да се знае какво може да се прави в една TCP/IP мрежа. Списъкът по-долу не е изчерпателен, но включва основните потребителски приложения, които TCP/IP поддържа.
Telnet
Програмата Telnet дава възможност за отдалечен login. Това позволява на даден потребител да се свърже с отдалечен компютър и да му подава команди за изпълнение, сякаш работи на него. Връзката може да се осъществи където и да е в локалната мрежа или в друга такава където и да е по света. Достатъчно е потребителят да има разрешение да се свърже с отдалечената система. Това се прави често в LAN или WAN мрежи, но малко системи, достъпни чрез Интернет, позволяват Telnet сесии.
File Transfer Protocol (FTP)
FTP позволява файлове от една система да се копират на друга. Компютъра, към който потребителят се свързва, не става напълно достъпен, както с Telnet. Тук се използва специален FTP софтуер.
Simple Mail Transfer Protocol (SMTP)
SMTP се използва за трансфер на електронна поща. SMTP е напълно прозрачен за потребителя. SMTP се свързва към отдалечената машина и прехвърля mail - съобщенията подобно на начина, по който FTP прехвърля файлове. Работата на SMTP е почти незабележима и това е един от протоколите, който дава най-малко грешки.
Kerberos
Kerberos е широко поддържан протокол за сигурността. Той използва специално приложение, наречено authentication server за валидиране на паролите и схемите на криптиране. Kerberos е една от многото криптиращи системи за сигурност, използвани в комуникациите и е често срещана в UNIX.
Domain Name System (DNS)
DNS позволява името на даден компютър да се преобразува в определен мрежови адрес, например - PC, наречено "Genadi", не може да бъде достъпен от друга машина в същата мрежа или от друга свързана мрежа, ако не е налице някакъв метод за проверка на името на локалното PC и заместване на името с хардуерния машинен адрес. DNS осигурява преобразуване от локално име към уникалния физически адрес на устройството, свързано в глобалната мрежа.
Simple Network Management Protocol (SNMP)
SNMP дава съобщения до администратора за състоянието и за възникнали проблеми в мрежата. SNMP използва UDP като транспортен механизъм. Тук терминологията е малко по-различна, отколкото при TCP/IP. Вместо за клиенти и сървъри се говори за "manager" и "agent", въпреки че се има предвид същото като при TCP/IP. Един "agent" осигурява информация за едно устройство, а "manager"-а комуникира през мрежата с много "agents".
Network File System (NFS)
NFS е набор от протоколи, разработен от "Sun Microsystems", който осигурява на много компютри прозрачен достъп до техните директории. Това е т. нар. разпределена файлова система. NFS системите се използват често в големите корпоративни обкръжения. Особено при тези, работещи под UNIX.
Remote Procedure Call (RPC)
RPC протоколът, съдържа набор от функции, които дават възможност дадено приложение да комуникира с друг компютър (сървър). Осигурява се разпределена обработка на данните (програмни функции, връщане на кодове и предефиниране на променливи).
Trivial File Transfer Protocol (TFTP)
TFTP е много опростен протокол - FTP без защита. Той използва UDP в транспортния слой.
Transmission Control Protocol (TCP)
TCP е част от TCP/IP фамилията. Той комуникационен протокол, който осигурява надежден трансфер на данни. Отговорен е за асемблирането на данните в стандартни пакети. Тези данни се подават от приложения, работещи в по-горните слоеве. Освен това при него има проверка за грешка.
User Datagram Protocol (UDP)
За разлика от TCP, UDP не осиурява повторно предаване на "datagrams" при съобщение за грешка. UDP не е много надежден, но той има по-специално предназначение. Ако приложението, което използва UDP, има вградена надеждна проверка, бързодействието, което получаваме, е за предпочитане.
Internet Protocol (IP)
IP отговаря за движението на пакетите с данни, асемблирани или от TCP, или от UDP. Той използва уникален адрес за всяко устройство, свързано в мрежата, и според този адрес определя маршрутите и крайните точки.
Internet Control Message Protocol (ICMP)
ICMP е отговорен за проверката и генерира съобщения за статуса на устройството в мержата. Той може да бъде използван, за да информира други устройства дали има грешка в определена машина. ICMP и IP обикновено работят заедно.
Интернет
Когато ARPANET израснала извън мащабите единствено на военна мрежа и добавила към себе си други подмрежи (университетски, корпоративни и потребителски), тя станала известна като Интернет. Няма отделна мрежа, която да се нарича така. Терминът се отнася към съвкупността от мрежи и подмрежи. Единственото нещо, по което се приличат, е, че използват TCP/IP като комуникационен протокол.
Структурата на Интернет
Както беше споменато по-рано, Интернет не е просто отделна мрежа, а е съвкупност от мрежи, които комуникират помежду си чрез "gateway". Той се дефинира като система, която извършва реални функции между отделните мрежи (както е показано на фигурата). Различните мрежи, свързани директно една с друга, или чрез "gateway", често са наричани подмрежи (подчинени мрежи), защото те са само малка част от голямата глобална мрежа. Това не означава, че дадена подмрежа е малка или зависи от голямата мрежа. Подмрежите са самостоятелни завършени системи.
С TCP/IP всички физически връзки между отделните мрежи се осъществяват чрез "gateways". Важно е да се спомене, че "gateway"-ят оказва пътя на информационните пакети като се базира на името на мрежата, за която са предназначени. При него имаме обработка и анализ на данните. Казано с други думи, задача на "gateway"-я е да получи Protocol Data Unit (PDU) от глобалната мрежа или от друга локална мрежа, да му окаже пътя към следващия "gateway" или да го пропусне в локалната мрежа, за която е предназначен.

В САЩ съществува NFSNET, която е гръбнакът на Интернет (фигура 4). Едни от първите мрежи, свързани към NFSNET са: NASA - Space Physics Analisys Network (SPAN), Computer Science Network (CSNET) и някои други мрежи като WESTNET и San Diego Supercomputer Network (SDSCNET). Има и други по-малки мрежи, които са потребителски ориентирани. Това са BIINET, UUNET и др.
WESNET обхваща приблизително 3 000 изследователски сайта, които са свързани чрез Т-3 линия, работеща на 44,736 Mbps. Непрекъснато се правят тестове и нововъведения с цел да се увеличи скоростта на гръбнака, да се подобри трафика, за да се задоволят изискванията на нарастващия брой потребители. Някои от тестваните технологии са: Synchronous Optical Network (SONET); Asynchronous Transfer Mode (ATM) и др. Тези нови системи магат да оситурят скорости над 1 Gbps.
Интернет слоеве
Повечето глобални мрежи, включително и Интернет, могат да се разглеждат като мрежи със слойна структура. Концепцията със слоевете помага при разработването на приложения за Интернет и показва как различните нива на TCP/IP работят заедно. Но разделянето на Интернет на слоеве е просто концептуално. Те не са действителни физически или софтуерни нива, за разлика от OSI или TCP/IP. Удобно е да приемем, че Интернет има 4 слоя.
Независимите устройства се намират в най-долния слой (Subnetwork). Когато са свързани помежду си в локална мрежа, те се превръщат в подмрежа. Над слоя Subnetwork е Internetwork. Тук се осигурява комуникацията между подмрежите чрез "gateways". В този втори слой (по възходящ ред) е мястото, където пакетите с данни се прехвърлят от една мрежа към друга докато не достигнат дестинацията си. Използваният протокол в този слой е IP.
Следващият слой - Service Provider Protocol, отговаря за пълната комуникация по мрежата (end to end). В този слой работи TCP и други протоколи. Той доставя данните и осигурява надеждност при трансфера. Най-горният слой е Application service. В него се осигурява връзката с потребителските приложения (електронна поща, файлов трансфер, отдалечен достъп). В този слой се използват няколко протокола.
На фигура 6 е показан пътя на даден пакет данни от едно приложение до друго. Приложенията се намират в две отделни подрежи. Слоевете в изпращащата и получаващата машина са OSI слоеве. Отстрани са показани и еквивалентните им слоеве от Интернет архитектурата.

Данните, генерирани от изпращащата машина, преминават от слой в слой в низходяща посока. Datagram-ите се асемблират с помощта на Protocol Control Information. Слоят Application добавя своя етикет към данните и ги препраща в низходяща посока. Същото правят и слоевете - Presentation, Session, Transport и т.н. Така datagram-ът увеличава своя обем за сметка само на служебната информация. След като слоят DataLink е добавил своя етикет към пакета с данните, той достига до физическия слой и от него се изпраща извън локалната мрежа. LAN мрежата маршрутизира информацията към "gateway"-я и през него тя преминава в глобалната мрежа. По време на тези процеси LAN не се интересува от съдържанието на съобщението. Някои мрежи променят информацията в етикета, за да покажат, че пакета е преминал оттам.

Пакетът с данни преминава от "gateway" в "gateway" през глобалната мрежа, докато накрая достигне подмрежата, за която е предназначен. На всяка стъпка "gateway"-ят анализира хедъра на пакета с данни, за да определи дали той е предназначен за дадената подмрежа. Ако да, "gateway"-ят го пропуска. Ако не, "gateway"-ят оказва на данните маршрута през глобалната мрежа. Този анализ се прави във физическия слой. Това елиминира нуждата етикетите на всички смоеве да бъдат прочитани. Така времето за обработка намалява и данните достигат до дестинацията си с по-малко закъснение. Етикетът може да бъде променян на всеки "gateway", за да се окаже пътят нататък.

Когато данните най-накрая пристигнат на "gateway"-я на подмрежата, за където са предназначени, устройството разпознава, че данните са на точното място и ги пропуска. Когато данните достигнат до дестинацията си, те се изкачват нагоре по слоевете като протоколът от всеки слой прочита своя етикет, отстранява го и пропуска данните нагоре. Най-накрая в слоя Application даденият протокол прочита хедъра, достига до истинското съобщение и го изпраща към нужното приложение.
Интернет адреси
Мрежовите адреси са аналогични на адресите за електронна поща, само че те оказват на дадена система къде да бъде доставен пакета с данни. Най-често се използват три термина: име, адрес и маршрут.

Терминът адрес често се употребява много общо и може да означава много различни неща: крайна точка, порт на дадения компютър, място от паметта, приложение и т.н.

Името е специфичната идентификация на машината, на потребителя или на приложението. Обикновено то е уникално и указва точното местоположение.

Маршрутът се използва като термин, който оказва на системата как пакетите с данни да достигнат до желания адрес. Често се използва името на получателя. От името мрежовият софтуер, обръщайки се към сървъра, се опитва да получи адреса и маршрута. Същото нещо се получава и когато изпращата електронна поща. Там според името пощенският сървър отнася съобщението до желаната пощенска кутия.

Съществуват няколко типа адресации в зависимост от платформата, типа на мрежата и версията на софтеура.
Ардесации в подмрежата
В мрежата са необходими два компонента, които да осигурят коректно предаване на данните. Това са физическият адрес и адресът от слоя DataLink.
Физически адреси
В една мрежа всяко устройство, което комуникира с другите, има уникален физически адрес - хардуерен адрес. За хардуера адресите обикновено са кодирани в мрежовата карта, реализирани или с ключове или софтуерно. От гледна точка на OSI модела анализът за физически адрес става във физическия слой. Ако адресът на получателя съвпада с физическия адрес на устройството, Datagram-ът може да бъде предаден към по-горните слоеве. Ако адресът не съвпада, Datagram-ът се игнорира. Извършването на анализа в най-долния слой на OSI модела предпазва от ненужни закъснения, защото в противен случай пакетът с данни би трябвало да се изкачи до по-горен слой за анализ.

Дължината на физическия адрес е различна за различните мрежи. Но Ethernet и някои други стандарти използват 48 бита за всеки адрес. За да се осъществи комуникацията са необходими две адреса - един на изпращащото и един на получаващото устройство. IEEE (Международна организация за стандартизация) се грижи за назначаването на универсални физически адреси за подмрежи. За всяко подмрежа IEEE дава уникален идентификатор на организацията (OUI) с дължина 24 бита. Дава се възможност на всяка организация да асоциира още 24 бита към своя адрес, ако поиска.
Първите два бита са контролни. Първият бит е за индивидуален или групов адрес. Ако е 0 - адресът е индивидуален. Ако е 1 - адресът е групов и се нуждае от следващо уточняване. Вторият бит е локален или универсален. Следващите 22 бита обслужват физическия адрес на подмрежата и я идентифицират. Следващите 24 бита също идентифицират локални мрежови адреси и се администрират локално. Ако организацията изразходва физическите си адреси (за 24 бита те са приблизително 16 млн.), IEEE има възможност да отпусне втори адрес на подмрежата. Това са последните 24 бита.

Комбинацията от 24 бита от OUI и последните 24 бита, които са локално идентифицирани, се нарича MAC адрес (Media Access Control). Когато пакет с данни се асемблира, за да бъде пренесен по мрежата, има два набора от MAC адреси: един набор от изпращащата машина и един от получаващата.

Протоколът Address Resolution Protocol (ARP) - протокол за откриване на адреси, е обслужващ за работата на протокола IP. Той осъществява съпоставянето на IP адреса на мрежовия интерфейс с физическия MAC адрес на този интерфейс. Всяка комуникация в рамките на един физически сегмент на ниско ниво е свързана с МАС адресиране.

Преди комуникация с машина от собствения физически сегмент, машината изпращач, използвайки протокола ARP, изпраща публично съобщение, което достига до всички машини във физическия сегмент. Съобщението съдържа IP адреса на мрежовия интерфейс на машината получател, а също и IP и МАС адрес на машината инициираща предаването. Машината получател след като открие пакета ARP е длъжна да отговори на машината инициатор с пакет, съдържащ собствения й МАС адрес. Машината инициатор, след като получи този МАС адрес на машината приемник, може да започне предаването на информация.
IP адреси
Протоколът IP използва понятието IP адрес. За всяка машина в рамките на Интернет се задава уникален индентификатор, състоящ се от 4 байта. IP адресите обикновено се представят с т.нар. десетична точково нотация в следния вид: 192.34.10.17 Разпределението на IP адресите между отделните компании и организации се извършва от координиращи Интернет организации, както и от посредничещи комуникационни компании.

Във връзка с наличието на маршрутизатори по мрежата, осъществяващи физическото разделяне, а също и във връзка с логическото сегментиране на мрежата, се въвежда понятието маска на подмрежата. Това са 4 байта, но предназначени да дадат критерии дали дадени две машини се намират в една и съща подмрежа. Маската на подмрежата обикновено е еднаква за всички машини, участващи в тази подмрежа.

Маската на подмрежата също се задава чрез точкова нотация в следния вид: 255.255.255.0 Маската на подмрежата се съставя по такъв начин, че след обръщането й в двоична бройна система тя съдържа единици само в тези битови, които са еднакви за IP адресите на всички мрежови интерфейси, участващи в подмрежата.
Например, имаме IP адрес на мрежова карта и той е 192.168.15.3. Нека тази машина се намира в подмрежа с маска 255.255.255.0

192.168.15.3 = 11000000.10101000.00001111.00000011
255.255.255.0 = 11111111.11111111.11111111.00000000

Тогава в същата подмрежа се намират и адресите в интервала 192.168.15.0 и 192.168.15.255.

Адресите, завършващи на 0 и 255 имат специално предназначение в TCP/IP и не се използват за IP адреси на машини. Практически погледнато маската на подмрежата определя дали две машини могат да обменят информация директно една с друга, или между тях ще се намират посредничещи устройства - маршрутизатори.

Обикновено от компаниите, предоставящи IP адреси, се получава набор от IP адреси. Ако в компанията, снабдила се с определен брой IP адреси, има няколко разделени от маршрутизатори мрежи, тези адреси трябва да бъдат разпределени за различните подмрежи. Разграничаването на адресите от различните подмрежи отново става като се използва маската на подмрежата, но няколко от нейните битове се използват, за да пригодят работата на IP към вътрешното за компанията сегментиране. Маската на подмрежата разделя адреса на две части: едната от тях се нарича номер на подмрежата, а другата - адрес на хоста. Дефинират се три основни класа IP адреси, достъпни като валидни номера на мрежови интерфейси.
Клас Начален IP адрес Краен IP адрес
A 1.0.0.0 126.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
Адресните пространства

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

са заделени за частни мрежи, които няма да бъдат свързани към Интернет.
Адресът 127.0.0.1 винаги сочи към локалната машина. Той се нарича адрес за обратна връзка (Loopback address).

Ако мрежата на компанията съдържа например 5 подмрежи, то те могат да бъдат различени една от друга, като се използват 3 бита (23=8) от подмрежата, така тя ще бъде отбелязана с маска на подмрежата например 255.255.255.224.

255.255.255.224 = 11111111.11111111.11111111.11100000

Създавайки такава маска на подмрежа, ограничаваме броя на битовете в IP адресите, които могат да бъдат различни. Така 254 адреса, намиращи се в една единствена подмрежа с маска 255.255.255.0, ние създаваме критерий, изискващ не само първите три октета да са еднакви, но и първите три бита от последния октет също да бъдат еднакви. Това ни дава право да варираме само последните 5 бита. Чрез тяхната промяна получаваме адресите на отделните компютри в дадена подмрежа. Те вече не са 254, а могат да бъдат само 32.

С други думи, поставяйки маската 255.255.255.224, ние отделихме общо 8 подмрежи, всяка от които съдържа по 32 уникални IP адреса.

На практика обаче в горния случай разполагаме с 6 подмрежи и 30 адреса във всяка от тях. Както адресът на мрежата, така и адресът на мрежовия интерфейс не трябва да се състоят само от единици или само от нули, тъй като тези адреси имат специално предназначение.

От друга страна броят на подмрежите винаги е равен на степента на числото 2, намален с 2, защото има два случая на невалидни номера на подмрежи - състоящи се само от единици и състоящи се само от нули.

В крайна сметка, разполагайки с набор от адреси от 192.168.15.1 до 192.168.15.254 с маска 255.255.255.224, ние го разделихмена следните подмрежи и адреси, използвайки маската 255.255.255.224
Мрежа/последен октет от маската на подмрежата IP адреси в мрежата
192.168.15.32/00100000 192.168.15.33 - 192.168.15.62
192.168.15.64/01000000 192.168.15.65 - 192.168.15.94
192.168.15.96/01100000 192.168.15.97 - 192.168.15.126
192.168.15.96/10000000 192.168.15.129 - 192.168.15.158
192.168.15.96/10100000 192.168.15.161 - 192.168.15.190
192.168.15.96/11000000 192.168.15.193 - 192.168.15.222
Комуникацията между различните физически адреси се осъществява посредством т.нар. маршрутизатори. Когато един компютър, използвайки собствената си маска на подмрежа, открие, че компютърът, на който ще предава информация, има различен адрес на подмрежа от неговия (т.е. намира се в друга подмрежа), той предава пакета към маршрутизатора, който се опитва да осъществи пренасянето на информацията към отдалечения компютър.